package dao;

import java.io.Serializable;
import java.util.List;

import modelo.TipoTelefono;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

import util.HibernateUtil;

public class TipoTelefonoDao implements Serializable {

	private static final long serialVersionUID = -5510016146349930099L;

	private Session session;
	SessionFactory sessionFactory = HibernateUtil.getSessionFactory();

	public TipoTelefonoDao() {
		super();
	}

	public TipoTelefonoDao(Session session, SessionFactory sessionFactory) {
		super();
		this.session = session;
	}

	public List<TipoTelefono> obtenerTiposTelefonos() {
		session = sessionFactory.openSession();

		Query query = session.createQuery("SELECT t FROM TipoTelefono t");
		List<TipoTelefono> t = query.list();

		session.close();

		return t;
	}

	public TipoTelefono obtenerTipoTelefonoById(int id) {
		session = sessionFactory.openSession();
		Query query = session
				.createQuery("from TipoTelefono where IdTipoTelefono = :id ");
		query.setParameter("id", id);

		List<?> list = query.list();

		TipoTelefono p = (TipoTelefono) list.get(0);
		return p;
	}

	public void guardarTipoTelefono(TipoTelefono t) {
		session = sessionFactory.openSession();
		session.beginTransaction();
		session.saveOrUpdate(t);
		session.getTransaction().commit();
		session.close();
	}

	public void eliminarTipoTelefono(TipoTelefono t) {
		session = sessionFactory.openSession();
		session.beginTransaction();
		session.delete(t);
		session.getTransaction().commit();
		session.close();
	}

}
